import { get, post, put, del } from '@/utils/request';

// 获取所有基金
export function getAllFunds() {
  return get('/api/funds');
}

// 获取基金详情
export function getFundById(id) {
  return get(`/api/funds/${id}`);
}

// 根据基金代码获取基金
export function getFundByCode(code) {
  return get(`/api/funds/code/${code}`);
}

// 搜索基金
export function searchFunds(keyword) {
  return get('/api/funds/search', { keyword });
}

// 根据基金类型获取基金
export function getFundsByType(type) {
  return get(`/api/funds/type/${type}`);
}

// 根据评级获取基金
export function getFundsByRating(rating) {
  return get(`/api/funds/rating/${rating}`);
}

// 根据类型和评级获取基金
export function getFundsByTypeAndRating(type, rating) {
  return get(`/api/funds/type/${type}/rating/${rating}`);
}

// 根据标签获取基金
export function getFundsByTagName(tagName) {
  return get(`/api/funds/tag/${tagName}`);
}

// 获取表现最好的基金
export function getTopPerformingFunds(limit = 10) {
  return get('/api/funds/top-performing', { limit });
}

// 创建基金
export function createFund(data) {
  return post('/api/funds', data);
}

// 更新基金
export function updateFund(id, data) {
  return put(`/api/funds/${id}`, data);
}

// 删除基金
export function deleteFund(id) {
  return del(`/api/funds/${id}`);
}

// 为基金添加标签
export function addTagToFund(fundId, tagId) {
  return post(`/api/funds/${fundId}/tags/${tagId}`);
}

// 从基金移除标签
export function removeTagFromFund(fundId, tagId) {
  return del(`/api/funds/${fundId}/tags/${tagId}`);
} 